import chineseToPinYin from '@/lib/pinyin'
const addressOptions = [{ label: '全部', value: 0 }, { label: '长宁', value: 1 }, { label: '浦东', value: 2 }, { label: '杨浦', value: 3 }, { label: '浦东', value: 2 }, { label: '杨浦', value: 3 }, { label: '黄浦', value: 4 }, { label: '张江', value: 5 }]
/**
 * 搜索表单设置
 * @rules:  是否验证       {Boolean}
 * @inline: 是否内联       {Boolean}
 * @width:  label宽度     {String}
 * @align:  label对齐方式  {String}
 */
const searchFormSetting = {
  rules: false,
  inline: true,
  ref: 'searchForm',
  width: '40px',
  align: 'left'
}
/**
 * 搜索表单
 * @type: 输入框的类型
 * @label: 输入框的label
 * @module: 输入框的v-module属性，不写会默认咦中文首字母拼音作为改属性
 * 注：select需要配合options使用
 */
const searchFormGroup = [
  { label: '早餐', type: 'input', module: 'zaofan' },
  { label: '日期', type: 'date' },
  { label: '地点', type: 'select', options: addressOptions }
]
/**
 * 搜索表单按钮事件
 * @name: 按钮名称
 * @event: 按钮事件名（子组件直接@eventName=handleCustomizeEvent）
 * @primary：按钮类型（按钮的颜色）
 * @icon：按钮的小图标
 */
const searchFormButton = [
  { name: '查询', event: 'search', type: 'primary', icon: 'el-icon-search' },
  { name: '重置', event: 'reset', icon: 'el-icon-refresh-left' },
  { name: '一键导出', event: 'export', icon: 'el-icon-download' }
]
/**
 * 表格表头信息
 * @chineseToPinYin: 这是封装的根据中文汉字转换为拼音的方法
 * @prop: 表头字段名
 * @filter: 数据过滤器
 * @label: 表头显示名称
 */
function addressFilter (value) {
  return addressOptions.filter(i => i.value === value)[0].label
}
const tableTitle = [
  { prop: chineseToPinYin('日期'), label: '日期', width: '160' },
  { prop: chineseToPinYin('地点'), label: '地点', filter: addressFilter },
  { prop: chineseToPinYin('早餐'), label: '早餐' },
  { prop: chineseToPinYin('开会'), label: '开会' },
  { prop: chineseToPinYin('纪要'), label: '纪要' },
  { prop: chineseToPinYin('工作'), label: '工作' },
  { prop: chineseToPinYin('午餐'), label: '午餐' },
  { prop: chineseToPinYin('午休'), label: '午休' },
  { prop: chineseToPinYin('下班'), label: '下班' }
]
/**
 * 表格按钮事件
 * @event: 按钮事件名（子组件直接@eventName=handleCustomizeEvent）
 * @primary：按钮类型（按钮的颜色）
 */
const tableButton = [
  { label: '编辑', event: 'edit', type: 'primary' },
  { label: '删除', event: 'delete', type: 'danger' }
]
/**
 * 弹出层表单
 */
const dialogFormSetting = {
  rules: false,
  inline: false,
  ref: 'dialogForm',
  width: '60px',
  align: 'left'
}
const dialogFormGroup = [
  { label: '日期', type: 'date', required: true },
  { label: '地点', type: 'select', required: true, options: addressOptions },
  { label: '早餐', type: 'input', required: true },
  { label: '午休', type: 'input', required: true },
  { label: '下班', type: 'input', required: true }
]
const dialogFormButton = [
  { name: '确定', event: 'confirm', type: 'primary' },
  { name: '取消', event: 'cancel' }
]
export { searchFormSetting, searchFormGroup, searchFormButton, tableTitle, tableButton, dialogFormSetting, dialogFormGroup, dialogFormButton }
